#ifndef BDPLUGINMANAGER_APP_H
#define BDPLUGINMANAGER_APP_H

//Includes Qt
#include <QDialog>
#include <QWidget>
#include <QStandardItemModel>
//Include internal
#include "ui_BdPluginManagerBase.h"

/**
Class pour la fenetre pour ranger les différents plugins
@author Beltegeuse
*/
class BdPluginManager : public QDialog, private Ui::BdPluginManagerBase
{
  Q_OBJECT
public:
  /**
  Constructeur pour la fenetre du gestionnaire de plugin
  @param parent QWidget parent
  */
  BdPluginManager(QWidget* parent = 0); //TODO: Voir pour les flags...
  
  /**
  Destructeur
  */
  ~BdPluginManager();
  
  /**
  Methode appeler lorsque la fenetre du gestionnaire de plugin se ferme
  */
  void unload();
  
  /**
  Methode appeler pour recuperer tous les plugin disponible
  */
  void getPlugins();
  
  /**
  Methode pour initialiser la tableau + initiaisation du modele
  */
  void setTable();
  
public slots:
  /**
  Methode appeler lorsque l'utilisateur appuye sur le bouton Ok
  */
  void accept();
  
private:
  QStandardItemModel *mModelPlugins;
};

#endif
